#define _CRT_SECURE_NO_WARNINGS

//class Solution {
//public:
//    void reverseString(vector<char>& s) {
//        int left = 0, right = s.size() - 1;
//        while (left <= right)
//        {
//            swap(s[left], s[right]);
//
//            left++;
//            right--;
//        }
//    }
//};

//
//class Solution {
//public:
//    int firstUniqChar(string s) {
//        int count[26] = { 0 };
//
//        for (auto i : s)
//        {
//            count[i - 'a']++;
//        }
//
//        for (int i = 0; i < s.size(); i++)
//        {
//            if (count[s[i] - 'a'] == 1)
//                return i;
//        }
//
//        return -1;
//    }
//};


class Solution {
public:
    int StrToInt(string str) {
        int ret = 0;

        int index = 0;
        int flag = 1;

        if (str[index] == '+')
            index++;
        else if (str[index] == '-')
        {
            index++;
            flag = -1;
        }

        while (index < str.size())
        {
            if (!isdigit(str[index]))
                return 0;

            ret = ret * 10 + str[index] - '0';
            cout << ret << endl;

            index++;
        }

        return flag * ret;
    }
};
